package com.yunquan.ohana.utils

import android.content.Context
import android.media.AudioManager


object VolumeUtils {

    private fun getAudioManager(context: Context): AudioManager {
        return context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
    }

    // 设置音量
    fun setVolume(context: Context, streamType: Int, volume: Int) {
        getAudioManager(context).setStreamVolume(streamType, volume, AudioManager.FLAG_SHOW_UI)
    }

    // 获取当前音量
    fun getCurrentVolume(context: Context, streamType: Int): Int {
        return getAudioManager(context).getStreamVolume(streamType)
    }

    // 获取最大音量
    fun getMaxVolume(context: Context, streamType: Int): Int {
        return getAudioManager(context).getStreamMaxVolume(streamType)
    }

    // 增加音量
    fun increaseVolume(context: Context, streamType: Int) {
        getAudioManager(context).adjustStreamVolume(streamType, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI)
    }

    // 降低音量
    fun decreaseVolume(context: Context, streamType: Int) {
        getAudioManager(context).adjustStreamVolume(streamType, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI)
    }

    // 静音
    fun muteVolume(context: Context, streamType: Int) {
        getAudioManager(context).adjustStreamVolume(streamType, AudioManager.ADJUST_MUTE, 0)
    }

    // 取消静音
    fun unMuteVolume(context: Context, streamType: Int) {
        getAudioManager(context).adjustStreamVolume(streamType, AudioManager.ADJUST_UNMUTE, 0)
    }
}